package ZY10_19;

//公司有公司名称，注册地址，电话，经营范围等属性，
//公司有很多员工（用对象数组表示，作为公司的属性），
//员工基本信息如下：有工号，姓名，性别，职务，薪水，身份证号，工作年限。
//公司有招聘员工方法，有输出员工信息方法，以及辞退员工等方法。
//用oo的思想模拟
//  要求方法如下：
//   1)加入新员工.(注意参数的处理)
//   2)输出公司信息和员工信息
//   3)辞退员工
//   4)给员工涨薪,规则是根据工作年限，每一年涨50元。
//   5)查找薪水最高的员工，返回员工信息
public class GongSI {
    String name;
    String site;//地址
    int phone;//电话
    String scope;//营业范围
//    String a[] = new String[100];//公司人员
    Yuangong[] s=new Yuangong[100];
    int pos = 0;//公司当前人数
//    员工信息
//    public boolean xinxi(){
//        int i=0;
//        for (;i<s.length;i++){
//            s[i]=null;
//            return false;
//        }
//        s[i]=new Yuangong();
//        return true;
//    }
//    新员工加入
    public boolean jiare(Yuangong yuangong) {
        for (int i=0;i<pos;i++){
            if (s[i].number.equals(yuangong.number)){
                return false;
            }
        }
        s[pos]=yuangong;
        pos++;
        return true;
    }
//输出信息
    public void yuangong() {
        System.out.println("信息如下：");
//        for (String s : a) {
//            if (s == null)
//                break;
//            System.out.print(s + " ");
//        }
//        System.out.println();
        show();
        for (int i=0;i<pos;i++){
            if (s[i]==null){
                break;
            }
            s[i].show();
        }
    }
//    辞退
    public boolean fire(String Sname){
        for (int i=0;i<s.length;i++){
            if (s[i].equals(Sname)){//判断是否有这个人
                s[i]=null;
                for (int j=i;j<s.length-1;j++){
                    s[j]=s[j+1];
                }
                s[pos-1]=null;
                pos--;
                return true;
            }

        }
        return false;
    }
//    涨薪水，规则是根据工作年限，每一年涨50元。
    public boolean Salary(String Name) {
        for (int i = 0; i < pos; i++) {
            if (s[i].name.equals(Name)) {//判断是否有这个人
                s[i].salary=s[i].salary+s[i].yearswork*50;
                return true;
            }
        }
        return false;
    }
//    查找薪水最高的人
    public void xinshui(){
        int max=s[0].salary;
        for (int i=0;i<pos;i++)
        {
            if (s[i].salary>max){
                max=s[i].salary;
            }
        }
        System.out.println("薪水最高者为："+max);
    }
    public void show(){
        System.out.println("公司名称："+name+" 注册地址："+site+" 电话："+phone+" 营业范围："+scope);
    }
}
